// pages/profile/index.ts
Page({
  /**
   * 页面的初始数据
   */
  data: {
    nickName: '', // 初始化昵称为空字符串
    avatarUrl: ''
  },
  // 获取用户的昵称内容
  getUserNickName(e) {
    // console.log(e.detail.value, '用户名称')
    // 更新用户昵称
    this.updateNickName(e.detail.value)
  },
  //请求数据接口
  async updateNickName(nickName) {
    const { code } = await wx.http.put('/userInfo', { nickName }) // 发送PUT请求，更新用户昵称
    console.log(code); // 打印返回的状态码 10000
    // const { code } =
    // if (code !== 10000) return wx.utils.toast('更新用户信息失败！')
    this.setData({
      'userInfo.nickName': nickName // 更新data中的昵称数据
    })
  },
  // 用户头像地址
  // 定义一个名为 getUserAvatar 的方法，用于处理用户头像上传事件
  getUserAvatar(e) {
    // 打印事件对象 e
    // console.log(e);
    // 打印头像 URL
    // console.log(e.detail.avatarUrl)
    // 更新 userInfo 对象的 avatarUrl 属性为当前选中的头像 URL
    this.setData({
      'userInfo.avatarUrl': e.detail.avatarUrl
    })
    // 调用 updateUserAvatar 方法，传入头像文件路径
    this.updateUserAvatar(e.detail.avatarUrl)
  },

  // 定义一个名为 updateUserAvatar 的方法，用于上传用户头像到服务器
  updateUserAvatar(filePath) {
    // 使用微信小程序的 uploadFile API 发送文件上传请求
    wx.uploadFile({
      url: 'https://live-api.itheima.net/upload', // 上传接口地址
      // url: wx.http.baseURL + '/upload',
      filePath, // 要上传的文件路径
      name: 'file', // 文件对应的 key，后端接收文件时的参数名
      header: {
        Authorization: `Bearer ${getApp().token}` // 设置请求头中的认证信息
      },
      formData: {
        type: 'avatar' // 附加表单数据，例如上传类型
      },
      success: (res) => {
        // 上传成功后的回调函数，打印服务器返回的结果
        // console.log(res, '123') // 打印服务器返回的结果和字符串'123'
        // console.log(JSON.parse(res.data))
        const data = JSON.parse(res.data) // 将服务器返回的数据解析为JSON对象
        // if (data.code !== 10000) return wx.utils.toast('更新头像失败!')
        // 获取用户上传后的头像 保存到 data里面的数据
        this.setData({
          'userInfo.avatarUrl': data.data.url // 更新userInfo对象的avatarUrl属性为服务器返回的头像URL
        })
      }

    })
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {

  },

})